package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 空闲时间(用于切片的)对象 free_time
 * 
 * @author Wu Zhongfu
 * @date 2022-02-03
 */
public class FreeTime extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Integer id;

    /** 用户id */
    private Long userId;

    @Excel(name = "被预约者姓名")
    private String nickname;

    /** 日期范围开始 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "日期范围开始", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dateRange1;

    /** 日期范围结束 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "日期范围结束", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dateRange2;

    /** 上午时间范围开始 */
    @Excel(name = "上午时间范围开始")
    private String morning1;

    /** 上午时间范围结束 */
    @Excel(name = "上午时间范围结束")
    private String morning2;

    /** 下午时间范围开始 */
    @Excel(name = "下午时间范围开始")
    private String afternoon1;

    /** 下午时间范围结束 */
    @Excel(name = "下午时间范围结束")
    private String afternoon2;

    /** 去掉节假日(1是，0否) */
    @Excel(name = "去掉节假日(1是，0否)")
    private Integer noHoliday;

    /** 每个时间片人数上限 */
    @Excel(name = "每个时间片人数上限")
    private Integer numLimit;

    /** 时间粒度(分钟) */
    @Excel(name = "时间粒度(分钟)")
    private Integer unit;

    /** 是否提前提醒(1是，0否) */
    @Excel(name = "是否提前提醒(1是，0否)")
    private Integer preRemind;

    /** 提前提醒时间(分钟) */
    @Excel(name = "提前提醒时间(分钟)")
    private Integer preRemindTime;

    /** 提前提醒内容 */
    @Excel(name = "提前提醒内容")
    private String preRemindContent;

    /** 预约成功是否立即发送通知(1是，0否) */
    @Excel(name = "预约成功是否立即发送通知(1是，0否)")
    private Integer sendImmediate;

    /** 预约成功立即发送通知的内容 */
    @Excel(name = "预约成功立即发送通知的内容")
    private String sendImmediateContent;


    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public void setId(Integer id)
    {
        this.id = id;
    }

    public Integer getId()
    {
        return id;
    }
    public void setDateRange1(Date dateRange1) 
    {
        this.dateRange1 = dateRange1;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Date getDateRange1()
    {
        return dateRange1;
    }
    public void setDateRange2(Date dateRange2) 
    {
        this.dateRange2 = dateRange2;
    }

    public Date getDateRange2() 
    {
        return dateRange2;
    }
    public void setMorning1(String morning1) 
    {
        this.morning1 = morning1;
    }

    public String getMorning1() 
    {
        return morning1;
    }
    public void setMorning2(String morning2) 
    {
        this.morning2 = morning2;
    }

    public String getMorning2() 
    {
        return morning2;
    }
    public void setAfternoon1(String afternoon1) 
    {
        this.afternoon1 = afternoon1;
    }

    public String getAfternoon1() 
    {
        return afternoon1;
    }
    public void setAfternoon2(String afternoon2) 
    {
        this.afternoon2 = afternoon2;
    }

    public String getAfternoon2() 
    {
        return afternoon2;
    }
    public void setNoHoliday(Integer noHoliday)
    {
        this.noHoliday = noHoliday;
    }

    public Integer getNoHoliday()
    {
        return noHoliday;
    }
    public void setNumLimit(Integer numLimit)
    {
        this.numLimit = numLimit;
    }

    public Integer getNumLimit()
    {
        return numLimit;
    }
    public void setUnit(Integer unit)
    {
        this.unit = unit;
    }

    public Integer getUnit()
    {
        return unit;
    }
    public void setPreRemind(Integer preRemind)
    {
        this.preRemind = preRemind;
    }

    public Integer getPreRemind()
    {
        return preRemind;
    }
    public void setPreRemindTime(Integer preRemindTime)
    {
        this.preRemindTime = preRemindTime;
    }

    public Integer getPreRemindTime()
    {
        return preRemindTime;
    }
    public void setPreRemindContent(String preRemindContent) 
    {
        this.preRemindContent = preRemindContent;
    }

    public String getPreRemindContent() 
    {
        return preRemindContent;
    }
    public void setSendImmediate(Integer sendImmediate)
    {
        this.sendImmediate = sendImmediate;
    }

    public Integer getSendImmediate()
    {
        return sendImmediate;
    }
    public void setSendImmediateContent(String sendImmediateContent) 
    {
        this.sendImmediateContent = sendImmediateContent;
    }

    public String getSendImmediateContent() 
    {
        return sendImmediateContent;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("dateRange1", getDateRange1())
            .append("dateRange2", getDateRange2())
            .append("morning1", getMorning1())
            .append("morning2", getMorning2())
            .append("afternoon1", getAfternoon1())
            .append("afternoon2", getAfternoon2())
            .append("noHoliday", getNoHoliday())
            .append("numLimit", getNumLimit())
            .append("unit", getUnit())
            .append("preRemind", getPreRemind())
            .append("preRemindTime", getPreRemindTime())
            .append("preRemindContent", getPreRemindContent())
            .append("sendImmediate", getSendImmediate())
            .append("sendImmediateContent", getSendImmediateContent())
            .append("remark", getRemark())
            .toString();
    }
}
